# 闭包的学习，内部函数
def outer(a):
    def inner(b):
        """内部函数"""
        return a + b
    return inner

def a_line(a, b):
    """使用lambda表达式产生匿名内部函数"""
    return lambda x: a * x + b

# 自定义计数器，默认从0开始计数
def counter(START=0):
    cnt = [START]

    # def add_one():
    #     cnt[0] += 1
    #     return cnt[0]
    return lambda: cnt[0] + 1